手把手教你做一个强化学习的环境,用pygame搭建一个可视化训练游戏环境(一) |
您所在的位置:网站首页 › pygame 3d游戏案例 › 手把手教你做一个强化学习的环境,用pygame搭建一个可视化训练游戏环境(一) |
可视化训练环境
强化学习基本上用来学习的开源环境比较多, 新手刚入门可以用gym就够了 gym是基于pyglet搭建的,但是做不出比较高大上的效果,而且很多地方不如pygame pygamePygame是一组跨平台的Python模块, 用于创建视频游戏 安装直接conda 里pip install pygame即可 搭建流程(静态部分)先说一下常用的方法,基本上掌握了就可以组一个完善的小游戏 首先在项目中导入pygame import pygame from pygame.locals import *注:和pyglet有些许不同,这里导入即初始化游戏,刷新画面(render)操作需要套在主循环中并且抓住event,不然会卡住 然后做一些初始化 #注释掉的部分完整版中会放开,这里只介绍基础搭建 class Myenv(): def __init__(self) -> None: #self.gen = Generator() #self.player = Player() #初始化游戏 pygame.init() #设定游戏屏幕大小,500宽,450高,这个自己定义 self.screen = pygame.display.set_mode((500, 450)) #这个是小框框标题,可以不设 pygame.display.set_caption("Kousei's game") #这个是自己导入图片,插到游戏中显示 self.line = pygame.image.load(r'E:\RLpaz\data\line.png') self.agent = pygame.image.load(r'E:\RLpaz\data\agent.png') #把图片压缩到指定大小 self.line = pygame.transform.scale(self.line, (图片宽, 图片高)) self.agent = pygame.transform.scale(self.agent, (图片宽, 图片高)) #这个fcclock可以限制游戏刷新率,如果不限制可以不设 self.fcclock = pygame.time.Clock() #设定刷新fps self.fcclock.tick(100) #self.record = [] #self.pre_render(400)接着环境初始化就弄好了,接着我们需要有个刷新功能,每一帧去把图片刷到游戏里 def step(self,auto = False,a=1): #done是强化学习用来判断回合是否结束 #done = False #背景填充白色,如果你拿图片当背景可以不用设 self.screen.fill |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |